home *** CD-ROM | disk | FTP | other *** search
Makefile | 1997-08-15 | 10.4 KB | 398 lines | [TEXT/ALFA] |
- # Visual C++ 2.x and 4.0 makefile
- #
- # See the file "license.terms" for information on usage and redistribution
- # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- #
- # Copyright (c) 1995-1996 Sun Microsystems, Inc.
- # SCCS: @(#) makefile.vc 1.63 97/08/13 13:33:32
-
- # Does not depend on the presence of any environment variables in
- # order to compile tcl; all needed information is derived from
- # location of the compiler directories.
-
- #
- # Project directories
- #
- # ROOT = top of source tree
- #
- # TMPDIR = location where .obj files should be stored during build
- #
- # TOOLS32 = location of VC++ 32-bit development tools. Note that the
- # VC++ 2.0 header files are broken, so you need to use the
- # ones that come with the developer network CD's, or later
- # versions of VC++.
- #
- # TCLDIR = location of top of Tcl source heirarchy
- #
-
- ROOT = ..
- TMPDIR = .
- TOOLS32 = c:\msdev
- TCLDIR = ..\..\tcl8.0
-
- # Set this to the appropriate value of /MACHINE: for your platform
- MACHINE = IX86
-
- # Comment the following line to compile with symbols
- NODEBUG=1
-
- # uncomment the following two lines to compile with TCL_MEM_DEBUG
- #DEBUGDEFINES =-DTCL_MEM_DEBUG
-
- ######################################################################
- # Do not modify below this line
- ######################################################################
-
- VERSION = 80
-
- TCLDLL = tcl$(VERSION).dll
- TCLLIB = tcl$(VERSION).lib
- TCLPLUGINDLL = tcl$(VERSION)p.dll
- TCLPLUGINLIB = tcl$(VERSION)p.lib
- TKDLL = tk$(VERSION).dll
- TKLIB = tk$(VERSION).lib
- TKPLUGINDLL = tk$(VERSION)p.dll
- TKPLUGINLIB = tk$(VERSION)p.lib
-
- WISH = wish$(VERSION).exe
- WISHP = wishp$(VERSION).exe
- TKTEST = tktest.exe
- DUMPEXTS = $(TMPDIR)\dumpexts.exe
-
- WISHOBJS = \
- $(TMPDIR)\tkConsole.obj \
- $(TMPDIR)\winMain.obj
-
- TKTESTOBJS = \
- $(TMPDIR)\tkConsole.obj \
- $(TMPDIR)\tkTest.obj \
- $(TMPDIR)\tkSquare.obj \
- $(TMPDIR)\testMain.obj
-
- XLIBOBJS = \
- $(TMPDIR)\xcolors.obj \
- $(TMPDIR)\xdraw.obj \
- $(TMPDIR)\xgc.obj \
- $(TMPDIR)\ximage.obj \
- $(TMPDIR)\xutil.obj
-
- TKOBJS = \
- $(TMPDIR)\tkUnixMenubu.obj \
- $(TMPDIR)\tkUnixScale.obj \
- $(XLIBOBJS) \
- $(TMPDIR)\tkWin3d.obj \
- $(TMPDIR)\tkWin32Dll.obj \
- $(TMPDIR)\tkWinButton.obj \
- $(TMPDIR)\tkWinClipboard.obj \
- $(TMPDIR)\tkWinColor.obj \
- $(TMPDIR)\tkWinCursor.obj \
- $(TMPDIR)\tkWinDialog.obj \
- $(TMPDIR)\tkWinDraw.obj \
- $(TMPDIR)\tkWinEmbed.obj \
- $(TMPDIR)\tkWinFont.obj \
- $(TMPDIR)\tkWinImage.obj \
- $(TMPDIR)\tkWinInit.obj \
- $(TMPDIR)\tkWinKey.obj \
- $(TMPDIR)\tkWinMenu.obj \
- $(TMPDIR)\tkWinPixmap.obj \
- $(TMPDIR)\tkWinPointer.obj \
- $(TMPDIR)\tkWinRegion.obj \
- $(TMPDIR)\tkWinScrlbr.obj \
- $(TMPDIR)\tkWinSend.obj \
- $(TMPDIR)\tkWinWindow.obj \
- $(TMPDIR)\tkWinWm.obj \
- $(TMPDIR)\tkWinX.obj \
- $(TMPDIR)\stubs.obj \
- $(TMPDIR)\tk3d.obj \
- $(TMPDIR)\tkArgv.obj \
- $(TMPDIR)\tkAtom.obj \
- $(TMPDIR)\tkBind.obj \
- $(TMPDIR)\tkBitmap.obj \
- $(TMPDIR)\tkButton.obj \
- $(TMPDIR)\tkCanvArc.obj \
- $(TMPDIR)\tkCanvBmap.obj \
- $(TMPDIR)\tkCanvImg.obj \
- $(TMPDIR)\tkCanvLine.obj \
- $(TMPDIR)\tkCanvPoly.obj \
- $(TMPDIR)\tkCanvPs.obj \
- $(TMPDIR)\tkCanvText.obj \
- $(TMPDIR)\tkCanvUtil.obj \
- $(TMPDIR)\tkCanvWind.obj \
- $(TMPDIR)\tkCanvas.obj \
- $(TMPDIR)\tkClipboard.obj \
- $(TMPDIR)\tkCmds.obj \
- $(TMPDIR)\tkColor.obj \
- $(TMPDIR)\tkConfig.obj \
- $(TMPDIR)\tkCursor.obj \
- $(TMPDIR)\tkEntry.obj \
- $(TMPDIR)\tkError.obj \
- $(TMPDIR)\tkEvent.obj \
- $(TMPDIR)\tkFileFilter.obj \
- $(TMPDIR)\tkFocus.obj \
- $(TMPDIR)\tkFont.obj \
- $(TMPDIR)\tkFrame.obj \
- $(TMPDIR)\tkGC.obj \
- $(TMPDIR)\tkGeometry.obj \
- $(TMPDIR)\tkGet.obj \
- $(TMPDIR)\tkGrab.obj \
- $(TMPDIR)\tkGrid.obj \
- $(TMPDIR)\tkImage.obj \
- $(TMPDIR)\tkImgBmap.obj \
- $(TMPDIR)\tkImgGIF.obj \
- $(TMPDIR)\tkImgPPM.obj \
- $(TMPDIR)\tkImgPhoto.obj \
- $(TMPDIR)\tkImgUtil.obj \
- $(TMPDIR)\tkListbox.obj \
- $(TMPDIR)\tkMacWinMenu.obj \
- $(TMPDIR)\tkMain.obj \
- $(TMPDIR)\tkMenu.obj \
- $(TMPDIR)\tkMenubutton.obj \
- $(TMPDIR)\tkMenuDraw.obj \
- $(TMPDIR)\tkMessage.obj \
- $(TMPDIR)\tkOption.obj \
- $(TMPDIR)\tkPack.obj \
- $(TMPDIR)\tkPlace.obj \
- $(TMPDIR)\tkPointer.obj \
- $(TMPDIR)\tkRectOval.obj \
- $(TMPDIR)\tkScale.obj \
- $(TMPDIR)\tkScrollbar.obj \
- $(TMPDIR)\tkSelect.obj \
- $(TMPDIR)\tkText.obj \
- $(TMPDIR)\tkTextBTree.obj \
- $(TMPDIR)\tkTextDisp.obj \
- $(TMPDIR)\tkTextImage.obj \
- $(TMPDIR)\tkTextIndex.obj \
- $(TMPDIR)\tkTextMark.obj \
- $(TMPDIR)\tkTextTag.obj \
- $(TMPDIR)\tkTextWind.obj \
- $(TMPDIR)\tkTrig.obj \
- $(TMPDIR)\tkUtil.obj \
- $(TMPDIR)\tkVisual.obj \
- $(TMPDIR)\tkWindow.obj
-
- cc32 = $(TOOLS32)\bin\cl.exe
- link32 = $(TOOLS32)\bin\link.exe
- rc32 = $(TOOLS32)\bin\rc.exe
- include32 = -I$(TOOLS32)\include
-
- WINDIR = $(ROOT)\win
- GENERICDIR = $(ROOT)\generic
- XLIBDIR = $(ROOT)\xlib
- BITMAPDIR = $(ROOT)\bitmaps
- TCLLIBDIR = $(TCLDIR)\win
- RCDIR = $(WINDIR)\rc
-
- TK_INCLUDES = -I$(WINDIR) -I$(GENERICDIR) -I$(BITMAPDIR) -I$(XLIBDIR) \
- -I$(TCLDIR)\generic
- TK_DEFINES = $(DEBUGDEFINES)
-
- TK_CFLAGS = $(cdebug) $(cflags) $(cvarsdll) $(include32) \
- $(TK_INCLUDES) $(TK_DEFINES)
-
- ######################################################################
- # Link flags
- ######################################################################
-
- !IFDEF NODEBUG
- ldebug = /RELEASE
- !ELSE
- ldebug = -debug:full -debugtype:cv
- !ENDIF
-
- # declarations common to all linker options
- lcommon = /NODEFAULTLIB /RELEASE /NOLOGO
-
- # declarations for use on Intel i386, i486, and Pentium systems
- !IF "$(MACHINE)" == "IX86"
- DLLENTRY = @12
- lflags = $(lcommon) -align:0x1000 /MACHINE:$(MACHINE)
- !ELSE
- lflags = $(lcommon) /MACHINE:$(MACHINE)
- !ENDIF
-
- conlflags = $(lflags) -subsystem:console -entry:mainCRTStartup
- guilflags = $(lflags) -subsystem:windows -entry:WinMainCRTStartup
- dlllflags = $(lflags) -entry:_DllMainCRTStartup$(DLLENTRY) -dll
-
- !IF "$(MACHINE)" == "PPC"
- libc = libc.lib
- libcdll = crtdll.lib
- !ELSE
- libc = libc.lib oldnames.lib
- libcdll = msvcrt.lib oldnames.lib
- !ENDIF
-
- baselibs = kernel32.lib $(optlibs) advapi32.lib
- winlibs = $(baselibs) user32.lib gdi32.lib comdlg32.lib winspool.lib
- guilibs = $(libc) $(winlibs)
-
- guilibsdll = $(libcdll) $(winlibs)
-
- ######################################################################
- # Compile flags
- ######################################################################
-
- !IFDEF NODEBUG
- cdebug = -Ox
- !ELSE
- cdebug = -Z7 -Od -WX
- !ENDIF
-
- # declarations common to all compiler options
- ccommon = -c -W3 -nologo -YX
-
- !IF "$(MACHINE)" == "IX86"
- cflags = $(ccommon) -D_X86_=1
- !ELSE
- !IF "$(MACHINE)" == "MIPS"
- cflags = $(ccommon) -D_MIPS_=1
- !ELSE
- !IF "$(MACHINE)" == "PPC"
- cflags = $(ccommon) -D_PPC_=1
- !ELSE
- !IF "$(MACHINE)" == "ALPHA"
- cflags = $(ccommon) -D_ALPHA_=1
- !ENDIF
- !ENDIF
- !ENDIF
- !ENDIF
-
- cvars = -DWIN32 -D_WIN32
- cvarsmt = $(cvars) -D_MT
- cvarsdll = $(cvarsmt) -D_DLL
-
- CON_CFLAGS = $(cdebug) $(cflags) $(cvars) $(include32) -DCONSOLE
-
- ######################################################################
- # Project specific targets
- ######################################################################
-
- all: $(WISH)
- test: $(TKTEST)
- plugin: $(TKPLUGINDLL) $(WISHP)
-
- $(TKLIB): $(TKDLL)
-
- $(TKDLL): $(TKOBJS) $(TMPDIR)\tk.res $(TMPDIR)\tk.def
- set LIB=$(TOOLS32)\lib
- $(link32) $(ldebug) $(dlllflags) -def:$(TMPDIR)\tk.def \
- -out:$@ $(TMPDIR)\tk.res $(TCLLIBDIR)\$(TCLLIB) \
- $(guilibsdll) @<<
- $(TKOBJS)
- <<
-
- $(TKPLUGINLIB): $(TKPLUGINDLL)
-
- $(TKPLUGINDLL): $(TKOBJS) $(TMPDIR)\tk.res $(TMPDIR)\plugin.def
- set LIB=$(TOOLS32)\lib
- $(link32) $(ldebug) $(dlllflags) -def:$(TMPDIR)\plugin.def \
- -out:$@ $(TMPDIR)\tk.res $(TCLLIBDIR)\$(TCLPLUGINLIB) \
- $(guilibsdll) @<<
- $(TKOBJS)
- <<
-
- $(WISH): $(WISHOBJS) $(TKLIB) $(TMPDIR)\wish.res
- set LIB=$(TOOLS32)\lib
- $(link32) $(ldebug) $(guilflags) $(TMPDIR)\wish.res -out:$@ \
- $(guilibsdll) $(TCLLIBDIR)\$(TCLLIB) $(TKLIB) $(WISHOBJS)
-
- $(WISHP): $(WISHOBJS) $(TKPLUGINLIB) $(TMPDIR)\wish.res
- set LIB=$(TOOLS32)\lib
- $(link32) $(ldebug) $(guilflags) $(TMPDIR)\wish.res -out:$@ \
- $(guilibsdll) $(TCLLIBDIR)\$(TCLPLUGINLIB) \
- $(TKPLUGINLIB) $(WISHOBJS)
-
- $(TKTEST): $(TKTESTOBJS) $(TKLIB) $(TMPDIR)\wish.res
- set LIB=$(TOOLS32)\lib
- $(link32) $(ldebug) $(guilflags) $(TMPDIR)\wish.res -out:$@ \
- $(guilibsdll) $(TCLLIBDIR)\$(TCLLIB) $(TKLIB) $(TKTESTOBJS)
-
- $(TMPDIR)\tk.def: $(DUMPEXTS) $(TKOBJS)
- $(DUMPEXTS) -o $@ $(TKDLL) @<<
- $(TKOBJS)
- <<
-
- $(TMPDIR)\plugin.def: $(DUMPEXTS) $(TKOBJS)
- $(DUMPEXTS) -o $@ $(TKPLUGINDLL) @<<
- $(TKOBJS)
- <<
-
- $(DUMPEXTS): $(TCLDIR)\win\winDumpExts.c
- $(cc32) $(CON_CFLAGS) -Fo$(TMPDIR)\ $?
- set LIB=$(TOOLS32)\lib
- $(link32) $(ldebug) $(conlflags) $(guilibs) -out:$@ \
- $(TMPDIR)\winDumpExts.obj
-
- #
- # Special case object file targets
- #
-
- $(TMPDIR)\testMain.obj: $(ROOT)\win\winMain.c
- $(cc32) $(TK_CFLAGS) -DTK_TEST -Fo$@ $?
-
- #
- # Implicit rules
- #
-
- {$(XLIBDIR)}.c{$(TMPDIR)}.obj:
- $(cc32) $(TK_CFLAGS) -Fo$(TMPDIR)\ $<
-
- {$(GENERICDIR)}.c{$(TMPDIR)}.obj:
- $(cc32) $(TK_CFLAGS) -Fo$(TMPDIR)\ $<
-
- {$(WINDIR)}.c{$(TMPDIR)}.obj:
- $(cc32) $(TK_CFLAGS) -Fo$(TMPDIR)\ $<
-
- {$(ROOT)\unix}.c{$(TMPDIR)}.obj:
- $(cc32) $(TK_CFLAGS) -Fo$(TMPDIR)\ $<
-
- {$(RCDIR)}.rc{$(TMPDIR)}.res:
- $(rc32) -fo $@ -r -i $(GENERICDIR) $<
-
- clean:
- -@del *.exp
- -@del *.lib
- -@del *.dll
- -@del *.exe
- -@del $(TMPDIR)\*.obj
- -@del $(TMPDIR)\*.res
- -@del $(TMPDIR)\*.def
-
- # dependencies
-
- $(TMPDIR)\tk.res: \
- $(RCDIR)\buttons.bmp \
- $(RCDIR)\cursor*.cur \
- $(RCDIR)\tk.ico
-
- $(GENERICDIR)/default.h: $(WINDIR)/tkWinDefault.h
- $(GENERICDIR)/tkButton.c: $(GENERICDIR)/default.h
- $(GENERICDIR)/tkCanvas.c: $(GENERICDIR)/default.h
- $(GENERICDIR)/tkEntry.c: $(GENERICDIR)/default.h
- $(GENERICDIR)/tkFrame.c: $(GENERICDIR)/default.h
- $(GENERICDIR)/tkListbox.c: $(GENERICDIR)/default.h
- $(GENERICDIR)/tkMenu.c: $(GENERICDIR)/default.h
- $(GENERICDIR)/tkMenubutton.c: $(GENERICDIR)/default.h
- $(GENERICDIR)/tkMessage.c: $(GENERICDIR)/default.h
- $(GENERICDIR)/tkScale.c: $(GENERICDIR)/default.h
- $(GENERICDIR)/tkScrollbar.c: $(GENERICDIR)/default.h
- $(GENERICDIR)/tkText.c: $(GENERICDIR)/default.h
- $(GENERICDIR)/tkTextIndex.c: $(GENERICDIR)/default.h
- $(GENERICDIR)/tkTextTag.c: $(GENERICDIR)/default.h
-
- $(GENERICDIR)/tkText.c: $(GENERICDIR)/tkText.h
- $(GENERICDIR)/tkTextBTree.c: $(GENERICDIR)/tkText.h
- $(GENERICDIR)/tkTextDisp.c: $(GENERICDIR)/tkText.h
- $(GENERICDIR)/tkTextDisp.c: $(GENERICDIR)/tkText.h
- $(GENERICDIR)/tkTextImage.c: $(GENERICDIR)/tkText.h
- $(GENERICDIR)/tkTextIndex.c: $(GENERICDIR)/tkText.h
- $(GENERICDIR)/tkTextMark.c: $(GENERICDIR)/tkText.h
- $(GENERICDIR)/tkTextTag.c: $(GENERICDIR)/tkText.h
- $(GENERICDIR)/tkTextWind.c: $(GENERICDIR)/tkText.h
-
- $(GENERICDIR)/tkMacWinMenu.c: $(GENERICDIR)/tkMenu.h
- $(GENERICDIR)/tkMenu.c: $(GENERICDIR)/tkMenu.h
- $(GENERICDIR)/tkMenuDraw.c: $(GENERICDIR)/tkMenu.h
- $(WINDIR)/tkWinMenu.c: $(GENERICDIR)/tkMenu.h
-
-